﻿using System;
using System.ComponentModel;

namespace YJKMenuAssist.DataManagement
{
	public class KeyBoardItem : INotifyPropertyChanged
	{
		public string CmdName
		{
			get
			{
				return this.m_CmdName;
			}
			set
			{
				this.m_CmdName = value;
				this.OnPropertyChanged("CmdName");
			}
		}

		public string KeyBoard
		{
			get
			{
				return this.m_KeyBoard;
			}
			set
			{
				this.m_KeyBoard = value;
				this.OnPropertyChanged("KeyBoard");
			}
		}

		public string CmdPath
		{
			get
			{
				return this.m_CmdPath;
			}
			set
			{
				this.m_CmdPath = value;
				this.OnPropertyChanged("CmdPath");
			}
		}

		public CommandInfos CommandInfos
		{
			get
			{
				return this.m_CommandInfos;
			}
			set
			{
				this.m_CommandInfos = value;
				this.OnPropertyChanged("CommandInfos");
			}
		}

		public event PropertyChangedEventHandler PropertyChanged;

		protected void OnPropertyChanged(string propertyName)
		{
			if (string.IsNullOrEmpty(propertyName))
			{
				throw new System.ArgumentNullException("propertyName");
			}
			PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
			if (propertyChanged != null)
			{
				propertyChanged(this, new PropertyChangedEventArgs(propertyName));
			}
		}

		private string m_CmdName;

		private string m_KeyBoard;

		private string m_CmdPath;

		private CommandInfos m_CommandInfos;
	}
}
